package com.example.wei.mvp.api;

import com.example.wei.mvp.ui.bean.PersonResult;
import com.example.wei.mvp.ui.bean.TestBean;
import com.sina.common.okhttp.bean.HttpResult;

import io.reactivex.Observable;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;


/**
 * Created by Administrator on 2017/1/16.
 */

public interface ApiService {

    /**
     * 获取用户验证码
     * @param mobile
     * @return
     */
    @POST("login/send_verify_code")
    Observable<HttpResult> sendVerifyCode(@Query("mobile")String mobile);

    /**
     * 获取用户首页状态
     * @return
     */
    @GET("test/StringServlet")
    Observable<TestBean> getUser();

    /**
     * 获取用户首页状态
     * @return
     */
    @GET("test/StringServlet")
    Observable<PersonResult> getUserInfo(@Query("name") String name, @Query("age") int age, @Query("gender") String gender);
    /**
     * 测试post请求
     */
    @POST("test/PostTest")
    Observable<PersonResult> getUserPost(@Query("name") String name, @Query("age") int age, @Query("gender") String gender);

    /**
     * 图片上传
     * @param type
     * @param description
     * @param file
     * @return
     */
    @Multipart
    @POST("test/UploadServlet") //@QueryMap Map<String , String> usermaps:添加多参的参数
    Observable<HttpResult> psotImage(@Query("type") String type,@Part("description") RequestBody description, @Part MultipartBody.Part file);

    /**
     * 图片上传
     * @param type
     * @param file
     * @return
     */
    @Multipart
    @POST("test/UploadServlet") //@QueryMap Map<String , String> usermaps:添加多参的参数
    Observable<HttpResult> psotImage(@Query("type") String type, @Part MultipartBody.Part file);

}
